Skip to content

feat: Add Hip1261 Implementation#2231

Merged
aceppaluni merged 12 commits into
hiero-ledger:mainfrom
aceppaluni:Hip1261Implementation
May 8, 2026
Merged

feat: Add Hip1261 Implementation#2231
aceppaluni merged 12 commits into
hiero-ledger:mainfrom
aceppaluni:Hip1261Implementation

Conversation

@aceppaluni

Copy link
Copy Markdown
Contributor

Description:

This PR aims to add in the implementation for HIP-1261.

Related issue(s):

Fixes #1633

Notes for reviewer:

Old PR was #2019

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

Signed-off-by: aceppaluni <aceppaluni@gmail.com>
@github-actions github-actions Bot added notes: HIP Adds a HIP skill: advanced requires knowledge of multiple areas in the codebase without defined steps to implement or examples labels May 4, 2026
@aceppaluni aceppaluni added the step: 1st 1st stage of the review approval process label May 4, 2026
@codacy-production

codacy-production Bot commented May 4, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 73 complexity

Metric Results
Complexity 73

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@codecov

codecov Bot commented May 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.71429% with 9 lines in your changes missing coverage. Please review.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2231      +/-   ##
==========================================
+ Coverage   93.72%   93.76%   +0.04%     
==========================================
  Files         145      151       +6     
  Lines        9507     9714     +207     
==========================================
+ Hits         8910     9108     +198     
- Misses        597      606       +9     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aceppaluni
aceppaluni marked this pull request as ready for review May 4, 2026 19:48
@aceppaluni
aceppaluni requested review from a team as code owners May 4, 2026 19:48
@aceppaluni aceppaluni self-assigned this May 4, 2026
@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds HIP-1261 fee-estimation support: immutable fee data models and enum, a Mirror Node-backed FeeEstimateQuery with retry and chunked-transaction aggregation, minor transaction chunk-index wiring, plus unit and integration tests exercising modes, retries, and chunk aggregation.

Changes

Fee Estimation Query Implementation

Layer / File(s) Summary
Data Models
src/hiero_sdk_python/fees/fee_estimate_mode.py, src/hiero_sdk_python/fees/fee_extra.py, src/hiero_sdk_python/fees/fee_estimate.py, src/hiero_sdk_python/fees/network_fee.py, src/hiero_sdk_python/fees/fee_estimate_response.py
Adds FeeEstimateMode enum (STATE/INTRINSIC) and frozen dataclasses: FeeExtra, FeeEstimate, NetworkFee, and FeeEstimateResponse with fields for mode, node/service/network breakdowns, total, and high_volume_multiplier.
Core Query Implementation
src/hiero_sdk_python/query/fee_estimate_query.py
New FeeEstimateQuery providing setters/getters for mode, transaction, high-volume throttle, max attempts/backoff; builds mirror URL, rewrites localhost ports for tests, ensures/freeze transaction, serializes to protobuf, posts to /api/v1/network/fees, and converts JSON into FeeEstimateResponse.
Retry & HTTP
src/hiero_sdk_python/query/fee_estimate_query.py
Implements _post with exponential backoff and retry on timeouts/connection errors and transient HTTP statuses (408/429/500/502/503/504), configurable via max attempts and max backoff.
Response Mapping
src/hiero_sdk_python/query/fee_estimate_query.py
Parses mirror-node JSON into FeeEstimateResponse, NetworkFee, FeeEstimate and maps extras lists into FeeExtra objects.
Chunked Transaction Aggregation
src/hiero_sdk_python/query/fee_estimate_query.py, src/hiero_sdk_python/consensus/topic_message_submit_transaction.py
Implements detection of chunked transactions, per-chunk serialization/posting with temporary transaction mutations, aggregation of node/service/network subtotals and totals across chunks, and state restoration. Adds _current_chunk_index wiring in topic message submit transaction.
Transaction Convenience & Wiring
src/hiero_sdk_python/transaction/transaction.py
Adds Transaction.estimate_fee() returning a configured FeeEstimateQuery and Transaction.get_required_chunks() returning 1.
Unit Tests
tests/unit/fee_estimate_query_test.py
Adds extensive mocked tests covering default/explicit modes, required-transaction validation, HTTP 400 → RuntimeError, retry behavior for timeouts and 503, chunked aggregation correctness, and setters/getters validation.
Integration Tests
tests/integration/fee_estimate_query_e2e_test.py
Adds end-to-end tests executing FeeEstimateQuery against live client for AccountCreate, chunked FileAppend, and chunked TopicMessageSubmit transactions (STATE and INTRINSIC), asserting non-null results.

Sequence Diagram

sequenceDiagram
    actor User
    participant FeeEstimateQuery
    participant TxnMgmt as TransactionState
    participant Client as RESTClient
    participant MirrorNode as MirrorNode

    User->>FeeEstimateQuery: set_transaction(tx)
    FeeEstimateQuery->>TxnMgmt: freeze() if not frozen
    FeeEstimateQuery-->>User: self

    User->>FeeEstimateQuery: set_mode(STATE/INTRINSIC)
    FeeEstimateQuery-->>User: self

    User->>FeeEstimateQuery: execute(client)
    FeeEstimateQuery->>TxnMgmt: validate and serialize transaction
    FeeEstimateQuery->>Client: POST /api/v1/network/fees?mode=... (protobuf)
    
    Note over Client,MirrorNode: Retry on timeout/408/429/5xx with exponential backoff

    Client->>MirrorNode: HTTP POST
    MirrorNode-->>Client: JSON response (node, service, network)
    
    Client-->>FeeEstimateQuery: JSON
    FeeEstimateQuery->>FeeEstimateQuery: _to_response() → FeeEstimateResponse
    FeeEstimateQuery-->>User: FeeEstimateResponse
Loading
sequenceDiagram
    actor User
    participant FeeEstimateQuery
    participant TxnState as TransactionState
    participant Client as RESTClient
    participant Aggregator as FeeAggregator

    User->>FeeEstimateQuery: execute(client) with chunked Tx

    FeeEstimateQuery->>FeeEstimateQuery: _is_chunked() -> true

    loop for each chunk id
        FeeEstimateQuery->>TxnState: set transaction_id to chunk id
        FeeEstimateQuery->>TxnState: clear cached body bytes
        FeeEstimateQuery->>TxnState: freeze chunk
        FeeEstimateQuery->>Client: POST chunk protobuf
        Client-->>FeeEstimateQuery: JSON chunk fees
        FeeEstimateQuery->>Aggregator: accumulate node/service/base/extras & network subtotal
    end

    FeeEstimateQuery->>TxnState: restore original transaction state
    Aggregator-->>FeeEstimateQuery: aggregated FeeEstimateResponse
    FeeEstimateQuery-->>User: aggregated FeeEstimateResponse
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 39.13% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: Add Hip1261 Implementation' clearly identifies the primary change as implementing HIP-1261 fee estimation support, which aligns with the main changeset.
Description check ✅ Passed The description explicitly states 'This PR aims to add in the implementation for HIP-1261' and references issue #1633, which is directly related to the changeset.
Linked Issues check ✅ Passed The PR implements all major coding requirements from issue #1633: FeeEstimateMode enum [#1633], immutable data types (FeeExtra, FeeEstimate, NetworkFee, FeeEstimateResponse) [#1633], FeeEstimateQuery class with proper API [#1633], Transaction.estimate_fee() method [#1633], chunked transaction support [#1633], and comprehensive tests [#1633].
Out of Scope Changes check ✅ Passed Minor internal refactoring to TopicMessageSubmitTransaction's chunking index tracking is closely related to chunked transaction support. All changes directly support HIP-1261 implementation objectives.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📋 Issue Planner

Built with CodeRabbit's Coding Plans for faster development and fewer bugs.

View plan used: #1633

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
tests/integration/fee_estimate_query_e2e_test.py (1)

49-65: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo and improve test structure.

Same typo issue (chuck_txchunk_tx). Remove print() and add meaningful assertions for chunked transaction fee aggregation.

Proposed fix
 `@pytest.mark.integration`
-def test_can_execute_fee_estimation_query_chuck_tx(env):
-
+def test_fee_estimation_query_topic_message_chunked(env):
     tx = (
         TopicMessageSubmitTransaction().set_topic_id(TopicId(0, 0, 2)).set_chunk_size(10).set_message("s" * 20)
     )  # 2 chunks
 
-    # 2. IMPORTANT: Let freeze_with generate the valid transaction ID sequence
-    # This ensures tx._transaction_ids is populated correctly.
-
     tx.freeze_with(env.client)
     query = FeeEstimateQuery().set_mode(FeeEstimateMode.STATE).set_transaction(tx)
     result = query.execute(env.client)
 
-    print(result)
     assert result is not None
+    assert result.total > 0, "Chunked transaction should have positive fee total"
+    assert result.node_fee is not None, "Should include node fee breakdown"
+    assert result.service_fee is not None, "Should include service fee breakdown"
src/hiero_sdk_python/query/fee_estimate_query.py (1)

300-309: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Same isinstance() syntax error with union types.

This line has the same issue as line 102 - union types with | are not valid in isinstance().

Proposed fix
     def _is_chunked(self) -> bool:
         from hiero_sdk_python.consensus.topic_message_submit_transaction import (
             TopicMessageSubmitTransaction,
         )
         from hiero_sdk_python.file.file_append_transaction import (
             FileAppendTransaction,
         )
 
-        return isinstance(self._transaction, (TopicMessageSubmitTransaction | FileAppendTransaction))
+        return isinstance(self._transaction, (TopicMessageSubmitTransaction, FileAppendTransaction))

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5f98fb1e-c6c0-4127-8eb5-5dd9450e94a1

📥 Commits

Reviewing files that changed from the base of the PR and between 8df5916 and 6416a55.

📒 Files selected for processing (8)
  • src/hiero_sdk_python/fees/fee_estimate.py
  • src/hiero_sdk_python/fees/fee_estimate_mode.py
  • src/hiero_sdk_python/fees/fee_estimate_response.py
  • src/hiero_sdk_python/fees/fee_extra.py
  • src/hiero_sdk_python/fees/network_fee.py
  • src/hiero_sdk_python/query/fee_estimate_query.py
  • tests/integration/fee_estimate_query_e2e_test.py
  • tests/unit/fee_estimate_query_test.py

Comment thread src/hiero_sdk_python/query/fee_estimate_query.py Outdated
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py
Comment thread tests/integration/fee_estimate_query_e2e_test.py
Comment thread tests/integration/fee_estimate_query_e2e_test.py
Comment thread tests/unit/fee_estimate_query_test.py
Comment thread tests/unit/fee_estimate_query_test.py
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
@manishdait manishdait added this to the v0.2.7 milestone May 4, 2026
Comment thread src/hiero_sdk_python/fees/fee_estimate.py Outdated
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py Outdated
Comment thread tests/integration/fee_estimate_query_e2e_test.py
Signed-off-by: aceppaluni <aceppaluni@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: f551bba7-22c5-4d85-b359-337737374df2

📥 Commits

Reviewing files that changed from the base of the PR and between 6416a55 and 78891de.

📒 Files selected for processing (3)
  • src/hiero_sdk_python/fees/fee_estimate.py
  • src/hiero_sdk_python/query/fee_estimate_query.py
  • tests/integration/fee_estimate_query_e2e_test.py

Comment thread src/hiero_sdk_python/fees/fee_estimate.py
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown

Hi, this is WorkflowBot.
Your pull request cannot be merged as it is not passing all our workflow checks.
Please click on each check to review the logs and resolve issues so all checks pass.
To help you:

Signed-off-by: aceppaluni <aceppaluni@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 664f5aca-38f0-4b43-98c0-0b4ea28ad32d

📥 Commits

Reviewing files that changed from the base of the PR and between 78891de and 9fbd9c8.

📒 Files selected for processing (1)
  • src/hiero_sdk_python/query/fee_estimate_query.py

Comment thread src/hiero_sdk_python/query/fee_estimate_query.py Outdated
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py Outdated
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown

Hello, this is the OfficeHourBot.

This is a reminder that the Hiero Python SDK Office Hours are scheduled in approximately 4 hours (14:00 UTC).

This session provides an opportunity to ask questions regarding this Pull Request.

Details:

Disclaimer: This is an automated reminder. Please verify the schedule here for any changes.

From,
The Python SDK Team

aceppaluni added 3 commits May 6, 2026 14:27
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: aceppaluni <aceppaluni@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/hiero_sdk_python/consensus/topic_message_submit_transaction.py (2)

204-209: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

BLOCKER: Guard initialTransactionID before multi-chunk serialization.

When _total_chunks > 1, self._initial_transaction_id._to_proto() can dereference None if chunk metadata wasn’t initialized first. Add an explicit guard and raise a descriptive ValueError.

Proposed fix
         # Multi-chunk metadata
         if self._total_chunks > 1:
+            if self._initial_transaction_id is None:
+                raise ValueError(
+                    "initial transaction ID is missing for multi-chunk submit; call freeze_with(client) first."
+                )
             body.chunkInfo.CopyFrom(
                 consensus_submit_message_pb2.ConsensusMessageChunkInfo(
                     initialTransactionID=self._initial_transaction_id._to_proto(),
                     total=self._total_chunks,
                     number=self._current_chunk_index + 1,
                 )
             )

As per coding guidelines, "_build_proto_body() calls self._initial_transaction_id._to_proto() when _total_chunks > 1 ... an explicit guard with a descriptive ValueError MUST be present."


269-271: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

BLOCKER: Timestamp.nanos overflow is not handled when generating chunk transaction IDs.

nanos=base_timestamp.nanos + i can exceed protobuf bounds (999_999_999) for large chunk counts. Carry overflow into seconds.

Proposed fix
                 else:
+                    total_nanos = base_timestamp.nanos + i
                     chunk_valid_start = timestamp_pb2.Timestamp(
-                        seconds=base_timestamp.seconds, nanos=base_timestamp.nanos + i
+                        seconds=base_timestamp.seconds + total_nanos // 1_000_000_000,
+                        nanos=total_nanos % 1_000_000_000,
                     )
                     chunk_transaction_id = TransactionId(
                         account_id=self.transaction_id.account_id, valid_start=chunk_valid_start
                     )

As per coding guidelines, "the expression base_timestamp.nanos + i MUST be checked for overflow ... An overflow guard MUST carry seconds over."


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 880bc1b9-1aaf-4304-ad91-ff405c830163

📥 Commits

Reviewing files that changed from the base of the PR and between 9fbd9c8 and e32346b.

📒 Files selected for processing (4)
  • src/hiero_sdk_python/consensus/topic_message_submit_transaction.py
  • src/hiero_sdk_python/query/fee_estimate_query.py
  • src/hiero_sdk_python/transaction/transaction.py
  • tests/unit/fee_estimate_query_test.py

Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Comment thread tests/unit/fee_estimate_query_test.py
Signed-off-by: aceppaluni <aceppaluni@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
src/hiero_sdk_python/query/fee_estimate_query.py (1)

31-52: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

FeeEstimateQuery bypasses the SDK Query contract by not extending Query.

This class currently implements a parallel execution stack (custom execute/retry flow) instead of participating in base Query behavior. That risks divergence in query semantics and lifecycle guarantees.

As per coding guidelines, "All queries MUST: Use the base Query execution flow" and "Subclasses MUST NOT: Override retry logic."

Also applies to: 114-187


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c270fd80-3944-4747-a57b-4dc8fd3308e1

📥 Commits

Reviewing files that changed from the base of the PR and between e32346b and 03a6250.

📒 Files selected for processing (2)
  • src/hiero_sdk_python/query/fee_estimate_query.py
  • tests/unit/fee_estimate_query_test.py

Comment thread tests/unit/fee_estimate_query_test.py
Comment thread tests/unit/fee_estimate_query_test.py
@github-actions github-actions Bot added the queue:junior-committer PR awaiting initial quality review label May 8, 2026
@exploreriii exploreriii removed the step: 1st 1st stage of the review approval process label May 8, 2026

@manishdait manishdait left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @aceppaluni, nice work! Just a few nitpicks, and this should be ready to go.

Comment thread tests/integration/fee_estimate_query_e2e_test.py Outdated
Comment thread src/hiero_sdk_python/query/fee_estimate_query.py
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
manishdait
manishdait previously approved these changes May 8, 2026

@manishdait manishdait left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems good to me, just add the new classes to __init__.py and update the branch

@manishdait manishdait added the step: 2nd second stage of the review approval process label May 8, 2026
@github-actions github-actions Bot added queue:maintainers PR awaiting maintainer final review and removed queue:junior-committer PR awaiting initial quality review labels May 8, 2026
@manishdait manishdait removed the step: 2nd second stage of the review approval process label May 8, 2026
Akshat8510
Akshat8510 previously approved these changes May 8, 2026

@Akshat8510 Akshat8510 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍 Nice work on this implementation! 🚀

@github-actions github-actions Bot added status: ready-to-merge PR has 1+ maintainer and 2+ total approvals, ready to merge and removed queue:maintainers PR awaiting maintainer final review labels May 8, 2026
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
@aceppaluni
aceppaluni dismissed stale reviews from Akshat8510 and manishdait via a22c42f May 8, 2026 15:57
@github-actions github-actions Bot added queue:junior-committer PR awaiting initial quality review and removed status: ready-to-merge PR has 1+ maintainer and 2+ total approvals, ready to merge labels May 8, 2026
aceppaluni and others added 2 commits May 8, 2026 12:11
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
@aceppaluni
aceppaluni requested a review from Akshat8510 May 8, 2026 16:45
@github-actions github-actions Bot added queue:maintainers PR awaiting maintainer final review and removed queue:junior-committer PR awaiting initial quality review labels May 8, 2026
@github-actions github-actions Bot added status: ready-to-merge PR has 1+ maintainer and 2+ total approvals, ready to merge and removed queue:maintainers PR awaiting maintainer final review labels May 8, 2026
@aceppaluni
aceppaluni merged commit fd669c5 into hiero-ledger:main May 8, 2026
30 checks passed
darshit2308 pushed a commit to darshit2308/hiero-sdk-python that referenced this pull request May 9, 2026
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: darshit2308 <darshit2308@gmail.com>
darshit2308 pushed a commit to darshit2308/hiero-sdk-python that referenced this pull request May 9, 2026
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: darshit2308 <darshit2308@gmail.com>
NssGourav pushed a commit to NssGourav/hiero-sdk-python that referenced this pull request May 14, 2026
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
manishdait pushed a commit to manishdait/hiero-sdk-python that referenced this pull request May 18, 2026
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

notes: HIP Adds a HIP skill: advanced requires knowledge of multiple areas in the codebase without defined steps to implement or examples status: ready-to-merge PR has 1+ maintainer and 2+ total approvals, ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Advanced]: Implement HIP-1261 Fee Estimate Query Support

4 participants